Administrators of modern enterprise environments may face many challenges when providing access to application programs. One such challenge concerns the issue of delivering and maintaining (i.e. updating) applications to the environments in which they will eventually execute—large numbers of machines having different execution environments with varying types of access to multiple corporate networks. Another challenge concerns providing an environment on a target machine enabling execution of an application program without interfering with other application programs, which may have conflicting requirements, and in environments in which the application program may not have been designed to run (i.e. a single user application running in isolation within a multi-user operating system).